<?xml version = "1.0" encoding = "UTF-8"?>

<Schema name = "FDTModbusIdentSchema"
	 xmlns = "urn:schemas-microsoft-com:xml-data"
	 xmlns:dt = "urn:schemas-microsoft-com:datatypes">
	
	<!-- FDT ModbusIdent schema V1.0 for Modbus protocol -->
	<!-- The  FDT ModbusIdent schema contains the definition of the attributes for the optional Modbus identification objects (Regular Category)  -->
	<!-- The Modbus identification objects can be read with the standard Modbus service ReadDeviceIdentification -->

	<!--Definition of general Fdt attributes-->
	
	<AttributeType name = "schemaVersion" dt:type = "number" default = "1.0"/>
	<AttributeType name = "protocolName" dt:type = "string" default = "protocol_Modbus"/>
	<AttributeType name = "idDTMSupportLevel" dt:type = "enumeration" dt:values = "genericSupport profileSupport blockspecificProfileSupport specificSupport identSupport"/>

	<!-- The Modbus identification objects are divided into two categories: -->

	<!-- - Basic category: -->
	<!--   Mandatory Modbus identification objects to required (mandatory) FDT identification elements -->
	
	<AttributeType name = "vendorName" dt:type = "string"/>
	<AttributeType name = "productCode" dt:type = "string"/>
	<AttributeType name = "majorMinorRevision" dt:type = "string"/>


	<!-- - Regular category: -->
	<!--   Optional Modbus identification objects to the optional FDT identification element IdValue-->
	<!--   Each Modbus identification object of the regular category is described with the following attributes -->

   	<!-- name: Name of the Modbus identification object -->
	<AttributeType name = "name" dt:type = "enumeration" dt:values = "ProductName ModelName VendorURL UserApplicationName"/>
   	<!-- protocolSpecificName:Protocol specific name of the Modbus identification object (equals name) -->
	<AttributeType name = "protocolSpecificName" dt:type = "enumeration" dt:values = "ProductName ModelName VendorURL UserApplicationName"/>
   	<!-- value: Content of the Modbus identification object -->
	<AttributeType name = "value" dt:type = "string"/>

	
	<!-- Regular Expression attributes-->
	<AttributeType name = "match" dt:type = "string"/>
	<AttributeType name = "nomatch" dt:type = "string"/>
	

	<!-- Regular Expression element-->	
	<ElementType name = "RegExpr" content = "empty" model = "closed">
		<attribute type = "match"/>
		<attribute type = "nomatch"/>
	</ElementType>
</Schema>